
import {InterfaceEngine} from "./ui-engine.js";
import {FlowEngine} from "./flow-engine.js";

/**
 * 触发流程引擎执行
 * @param {*} flowId 流程id
 */
function triggerFlow(params){
  const that = this;
  fetch(`./flow.${params.id}.xml`).then(data=>{
    data.text().then(config=>{
      const engine = new FlowEngine(that,config)
    })
  })
}

/**
 * 启动UI引擎,
 */
function startInterfaceEngine(id){
  fetch(`./ui.${id}.json`).then(data=>{
    data.json().then(config=>{
      const engine = new InterfaceEngine(document.querySelector("#page"),{
        triggerFlow
      }, config);
    })
  })
}

/**
 * 页面启动，先开始初始化界面，
 * UI引擎在读取到事件绑定时，触发流程引擎的运行，
 * 并且传入UI引擎的上下文，UI引擎
 */
function start(){
  startInterfaceEngine(1);
}

start();